package es.deusto.ingenieria.sd.tralala;

import enumeraciones.*;

import es.deusto.ingenieria.sd.tralala.Reproduccion;

import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.PrimaryKey;

import java.util.HashSet;
import java.util.Set;

@PersistenceCapable
public class Usuario {
	@PrimaryKey
	private String nombre;

	private String email;
	private MetodoPago metodoPago;
	private MetodoCalculo metodoCalculo;
	
	private String CuentaPaypal;
	private String CuentaBancaria;
	private Set<Reproduccion> reproducciones = new HashSet<>();
	private Set<Factura> facturas = new HashSet<>();

	public Usuario(String nombre, String email, MetodoPago metodoPago,
			MetodoCalculo metodoCalculo, String cuentaPaypal,
			String cuentaBancaria) {

		this.nombre = nombre;
		this.email = email;
		this.metodoPago = metodoPago;
		this.metodoCalculo = metodoCalculo;
		CuentaPaypal = cuentaPaypal;
		CuentaBancaria = cuentaBancaria;
		
	}

	public void setFacturas(Set<Factura> facturas) {
		this.facturas = facturas;
	}

	public void addFactura(Factura fact) {
		facturas.add(fact);
	}

	public Set<Factura> getFacturas() {
		return facturas;
	}

	public void addReproduccion(Reproduccion rep) {
		reproducciones.add(rep);
	}

	public Set<Reproduccion> getUsers() {
		return reproducciones;
	}

	public void reproducir(Cancion c) {

	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public MetodoPago getMetodoPago() {
		return metodoPago;
	}

	public void setMetodoPago(MetodoPago metodoPago) {
		this.metodoPago = metodoPago;
	}

	public MetodoCalculo getMetodoCalculo() {
		return metodoCalculo;
	}

	public void setMetodoCalculo(MetodoCalculo metodoCalculo) {
		this.metodoCalculo = metodoCalculo;
	}

	public String getCuentaPaypal() {
		return CuentaPaypal;
	}

	public void setCuentaPaypal(String cuentaPaypal) {
		CuentaPaypal = cuentaPaypal;
	}

	public String getCuentaBancaria() {
		return CuentaBancaria;
	}

	public void setCuentaBancaria(String cuentaBancaria) {
		CuentaBancaria = cuentaBancaria;
	}
	public Set<Reproduccion> getReproducciones() {
		return reproducciones;
	}

	public void setReproducciones(Set<Reproduccion> reproducciones) {
		this.reproducciones = reproducciones;
	}


}
